Method and apparatus for optimal interconnection of telecommunication nodes via a reliable microwave clustering

ABSTRACT

A method and apparatus for providing a topology for interconnection of telecommunication nodes in a communication network are disclosed. For example, the method obtains input data, and determines values of: at least one set, at least one parameter, and at least one variable associated with the communication network in accordance with the input data. The method then determines the topology for the interconnection via microwave links of the telecommunication nodes from an objective function in accordance with the at least one set, at least one parameter, and at least one variable, wherein the objective function is based on a plurality of penalty factors.

The present disclosure relates generally to communication networks and,more particularly, to a method and apparatus for providing an optimaltopology for interconnection of telecommunication nodes in acommunication network, e.g., an optimal topology for interconnection ofnodes in a cellular network.

BACKGROUND

As Internet usage continues to grow, more and more customers areaccessing communications services via a mobile device, e.g., a cellphone, a smart phone, etc. For example, a customer may receivemultimedia content via his/her cell phone and a wireless network. Thecell phone transmits and receives voice and data packets to and from theservice provider's network via a base station and an access network.

The customer's ability to access services via a mobile device isdependent on the reliability and the capacity of the network. Forexample, network elements, e.g., base station subsystems, radio accessnetworks, cell site equipment, core network nodes, etc., need to bedesigned with adequate capacity and reliability to meet the need. Thereliability of the network elements and the reliability of theconnectivity between the network elements affect the ability of users tocommunicate via the network. One approach for planning the microwavenetwork is manually manipulating parameters associated with eachrelevant factor (e.g., proximity of a base station to other basestations, capital cost, etc.) until an experienced planner deems theresult satisfactory. Unfortunately, this manual approach is laborintensive and highly non-optimal for reliable network planning of largenetworks.

SUMMARY OF THE DISCLOSURE

In one embodiment, the present disclosure describes a method andapparatus for providing a topology for interconnection oftelecommunication nodes in a communication network. For example, themethod obtains input data, and determines values of: at least one set,at least one parameter, and at least one variable associated with thecommunication network in accordance with the input data. The method thendetermines the topology for the interconnection via microwave links ofthe telecommunication nodes from an objective function in accordancewith the at least one set, at least one parameter, and at least onevariable, wherein the objective function is based on a plurality ofpenalty factors.

BRIEF DESCRIPTION OF THE DRAWINGS

The teaching of the present disclosure can be readily understood byconsidering the following detailed description in conjunction with theaccompanying drawings, in which:

FIG. 1 is a block diagram depicting an illustrative network related tothe current disclosure;

FIG. 2 provides an exemplary network with the current method forproviding a topology for interconnection of telecommunication nodes in acommunication network;

FIG. 3 illustrates a flowchart of the method for providing a topologyfor interconnection of telecommunication nodes in a communicationnetwork; and

FIG. 4 depicts a high-level block diagram of a general-purpose computersuitable for use in performing the functions described herein.

To facilitate understanding, identical reference numerals have beenused, where possible, to designate identical elements that are common tothe figures.

DETAILED DESCRIPTION

The present disclosure broadly describes a method and apparatus forproviding an optimal topology for interconnection of telecommunicationnodes (often referred in this disclosure as cell sites) via a reliablemicrowave clustering in a communication network, e.g., a cellularnetwork. Although the teachings of the present disclosure are discussedbelow in the context of providing interconnections for a wirelesscommunication network, the teaching is not so limited. Namely, theteachings of the present disclosure can be applied for other types ofcommunication networks, wherein the planning of reliable network (e.g.,an access network) requires simultaneous consideration of multiplefactors.

Microwave-based interconnection of telecommunication network entities(nodes) promotes rapid and cost-effective deployment. Microwave Linksprovide an attractive alternative due to relatively low capital costrequirement and relative ease of deployment. The alternative of fiberbuild-out can be extremely labor intensive, costly and time consuming.Leased networks could become cost prohibitive. Wireless carriers need tobackhaul cell sites traffic via a radio access network (RAN) and thisRAN transport cost represents a major cost component oftelecommunication carriers. Microwave transport may then be beneficialgiven the growth in mobility and long-term evolution (LTE) rollout.Microwave transport may be even more beneficial in LTEs where each towermay generate approximately 100 or more Megabits per second (mbps) oftraffic.

FIG. 1 is a block diagram depicting an illustrative network 100 relatedto the current disclosure. Illustrative networks may include Internetprotocol (IP) networks, IP Multimedia Subsystem (IMS) networks, Ethernetnetworks, wireless networks and the like.

In one embodiment, the network may comprise a plurality of endpointdevices 102-104 configured for communication with the core network 110(e.g., an IP based core backbone network supported by a serviceprovider) via an access network 101. Similarly, a plurality of endpointdevices 105-107 are configured for communication with the core network110 via an access network 108. The network elements 109 and 111 mayserve as gateway servers or edge routers for the network 110.

The endpoint devices 102-107 may comprise customer endpoint devices suchas personal computers, laptop computers, servers, routers, wirelessphones, and the like. The access networks 101 and 108 serve as a meansto establish a connection between the endpoint devices 102-107 and theNEs 109 and 111 of the core network 110. The access networks 101 and 108may each comprise a Digital Subscriber Line (DSL) network, a broadbandcable access network, a Local Area Network (LAN), a Wireless AccessNetwork (WAN), a Radio Access Network (RAN), a Base Station Subsystem(BSS), a 3^(rd) party network, a cellular network, and the like. Theaccess networks 101 and 108 may be either directly connected to NEs 109and 111 of the core network 110, or indirectly through another network.

Some NEs (e.g., NEs 109 and 111) reside at the edge of the coreinfrastructure and interface with customer endpoints over various typesof access networks. An NE that resides at the edge of a coreinfrastructure can be implemented as an edge router, a media gateway, aborder element, a firewall, a switch, and the like. An NE may alsoreside within the network (e.g., NEs 118-120) and may be used as a mailserver, a router, or like device. The core network 110 also comprises anapplication server 112 that contains a database 115. The applicationserver 112 may comprise any server or computer that is well known in theart, and the database 115 may be any type of electronic collection ofdata that is also well known in the art. Those skilled in the art willrealize that although only six endpoint devices, two access networks,five network elements and so on are depicted in FIG. 1, thecommunication system 100 may be expanded by including additionalendpoint devices, access networks, network elements, and/or applicationservers, without altering the teachings of the present disclosure. Theabove network 100 is described to provide an illustrative environment inwhich data for various services, e.g. voice and data services, aretransmitted on networks.

In one embodiment, a service provider may enable customers to accessservices via a wireless access network, e.g. a base station subsystem ora radio access network. For example, a customer may use a cell phone ora smart phone to access Internet Protocol (IP) services, multimediaservices, and the like. The packets from and to the wireless device,e.g., cell phone, may then traverse one or more base station subsystems,radio access networks and network equipment, e.g., base stations,backhaul equipment, etc.

The radio network controllers and base station controllers route callsfrom user endpoint devices towards their destination via the serviceprovider's core network. Similarly, calls destined to the user endpointdevices traverse the core network to reach either a radio networkcontroller (for 3G) or a base station controller (for 2G). Asapplicable, the radio network controller or the base station controllerforwards the calls towards their intended user endpoint device via abase station. In order to support wireless services, the radio accessnetworks and/or base station subsystems need to have adequate capacityand reliability.

One approach for planning a communication network based on Microwavetopology is manually manipulating parameters associated with eachrelevant factor until an experienced planner deems the resultsatisfactory. For example, a planner may manually plan locations forbase stations based on distance proximity to other base stations,capital cost, backhaul cost, geographical location, line of sightconsiderations, etc. Unfortunately, this manual approach is laborintensive and highly non-optimal for planning of large networks.Moreover, the result of the manual effort has no guarantees in terms ofoptimality and in terms of prevention of microwave interference.

There are some mathematical formulations available for manuallygenerating a k-connected topology for microwave interconnection.However, designs based on current available mathematical formulationshave shortcomings. For example, a topology based on k=1 generates a treebut there is no guarantee of reliability and a failure of a single nodeor a single link can bring down the entire network. Topologies based onk>1 generate sub-optimal solutions which are not cost effective. Forexample, k=2 generates a double connected (link disjoint) topology.Moreover, the selection of candidate microwave links that constitute theinput to the mathematical model is performed without performingline-of-sight and path availability analysis. Hence, obtaining anoptimal design via a manual approach is infeasible. Furthermore, thereis no technique in place for preventing pairs of microwave beams of theresulting topology from being too close to each other—thereby causingpotential interference. For example, the manual method lacksrestrictions for minimum beam angle, restrictions forvertical/horizontal separation, and restrictions for preventingmicrowave beams from crossing each other.

The above shortcomings directly impact the performance and coststructure of the resulting radio access network. As such, the design ofthe network may impact the overall financial metrics of a wirelesscarrier and its market competitiveness.

In order to clearly describe the current method for providing an optimaltopology for interconnection of telecommunication nodes via reliablemicrowave clustering in a communication network, the following microwavenetwork terminologies are first provided:

A node;

A primary node;

A link;

A hop limit;

A path;

A pair of disjoint paths; and

Necklace topology.

In one embodiment, a node refers to a cell site that is to be clusteredvia microwave links. A node that is not a primary node is also referredto as a “cell site” or simply as a “site.”

In one embodiment, a primary node refers to a node that is a trafficsink. The primary node is also referred to as a sink node, or as adonor-site. In one example, a node that connects traffic to a fibernetwork may be the sink node.

In one embodiment, a link refers to a microwave connection between twonodes, between two sites, or between a site and a sink.

In one embodiment, a hop limit refers to a limit on a maximum number oftandem microwave links allowed for a node (a non-sink node) to beconnected to a primary node (sink) in a candidate microwave path.

In one embodiment, a path refers to a chain of microwave linksconnecting a node to a primary node (sink).

In one embodiment, a pair of disjoint paths refers to a pair of pathsbetween a node and the primary node(s) to which the node is attached,wherein the pair of paths does not share any common link. For example,the design algorithm may engineer a topology that facilitates anenhanced robustness against link failures. The topology may beengineered such that there may be two distinct paths connecting a nodeto two different sink nodes, wherein none of the paths share any linkbetween them.

In one embodiment, a “necklace topology” refers to a network topology inwhich each node is connected to at least one sink node via a path.However, the path for a particular node to sink-node connection maycomprise any number of hops. That is, the number of hops can be n=1, . .. , N. The N may be selected by the user (e.g., network planner). Toincrease resilience to a single link failure, redundancy requirementsmay be added. In one embodiment, any node ‘i’ with more than twomicrowave radios requires a degree of redundancy. In a preferredembodiment, any node ‘i’ with more than two microwave radios requirestwo sink nodes for the two link-disjoint paths originating from thisnode ‘i’. Please note that the current disclosure does not limit theimplementation of the current method to any of the topologies above.

In one embodiment, the current method provides an optimalinterconnection of telecommunication nodes via microwave clustering in awireless network. The method provides an optimal topology forinterconnecting of the cell sites for a targeted level of reliability ina cost effective manner. However, this is not intended to berestrictive; those skilled in the art will recognize that the scope andutility of the teachings of this disclosure extend to any generalcommunication networking scenario that can benefit from a cost-effectiveinterconnection of fixed network infrastructure elements via microwavelinks. The method determines the optimal topology in accordance withseveral factors, e.g., the need to meet cost objectives (minimizeoverall cost), the need to meet reliability objectives, the need toexclude microwave links that may lead to lower performance (e.g., lowerbit-level performance due to inadequate line of sight, limited pathavailability due to terrain, etc.), the need to exclude link pairs thatmay lead to microwave interference, and the like. However, the variousfactors need to be carefully weighed against each other. For example, ahigher reliability target may be weighed against the cost of additionallinks, increasing a number of links may be weighed against the need tominimize interference, and so on.

In one embodiment, in order to provide an optimal topology forinterconnecting the telecommunication nodes via a microwave clustering,the method defines an objective function that minimizes the total cost(penalties) based on the above factors, as required by a networkplanner. In one embodiment, the microwave design problem is posed as aninteger linear programming problem (ILP), in which the objectivefunction is expressed as a summation of costs (penalties) associatedwith one or more of: cost of deploying microwave links, penaltyassociated with microwave miles, penalty associated with not meetingline of sight objectives, penalty associated with a plurality ofdisjoint paths from a cell site being destined at a same sink node,penalty associated with a number of microwave dishes that should belocated at a given cell site, etc. In one embodiment constraints areadded for one or more of: exclusion of candidate links that do not meetline of sight requirements, restriction of the number of disjoint pathsfrom a given cell site terminating at a same sink node, restriction ofthe maximum number of microwave dishes installed at any given cell site,exclusion of pairs of links whose geographical proximity can causesignal interference, etc.

In one embodiment, the objective function is expressed as:

$\begin{matrix}{{{Total}\mspace{14mu} {Cost}} = {{\sum\limits_{{({j,k})} \in {{LINK}:{j > k}}}{\sum\limits_{l \in {Lnk\_ Typ}}{\sum\limits_{c = 1}^{{CapLvl}{\lbrack l\rbrack}}{{z\left\lbrack {j,k,l,c} \right\rbrack}*{{LinkCost}\left\lbrack {l,c} \right\rbrack}}}}} + {\sum\limits_{{({j,k})} \in {{LINK}:{j > k}}}{\sum\limits_{l \in {Lnk\_ Typ}}{\sum\limits_{c = 1}^{{CapLvl}{\lbrack l\rbrack}}{{z\left\lbrack {j,k,l,c} \right\rbrack}*{{DIST}\left\lbrack {j,k} \right\rbrack}}}}} + {\sum\limits_{{({j,k})} \in {{LINK}:{j > k}}}{\sum\limits_{l \in {Lnk\_ Typ}}{\sum\limits_{c = 1}^{{CapLvl}{\lbrack l\rbrack}}{{z\left\lbrack {j,k,l,c} \right\rbrack}*\left( {{{if}\mspace{14mu} \left( {j,k} \right)} \in {{NO\_ LOS}\mspace{14mu} {then}\mspace{14mu} {LOS\_ PENALTY}\mspace{14mu} {else}\mspace{14mu} 1}} \right)}}}} + {\sum\limits_{i \in {NODE}}{\left( {{if}\mspace{14mu} i\mspace{14mu} {goes}\mspace{14mu} {to}\mspace{14mu} {the}\mspace{14mu} {same}\mspace{14mu} {sink}\mspace{14mu} p\mspace{14mu} {for}\mspace{14mu} {its}\mspace{14mu} {disjoint}\mspace{14mu} {paths}\mspace{14mu} {then}\mspace{14mu} 1\mspace{14mu} {else}\mspace{14mu} 0} \right)*{Same\_ Sink}{\_ Penalty}}} + {\sum\limits_{w \in {NODE}}{\max \left\{ {\left( {{{radios}\lbrack w\rbrack} - {{MAX\_ Radios}\lbrack w\rbrack}} \right),0} \right\}*{Radio\_ Limit}{\_ Penalty}}}}} & {{Equation}\mspace{14mu} (1)}\end{matrix}$

It is important to note that the network planner may select one or moreof the above factors as being associated with a hard-limit. For example,the network planner may provide a maximum number of microwave dishes ata site, limit the allowed links to only those with acceptable line ofsight, disallow disjoint paths from a cell site from being destined to asame sink node, etc. The one or more factors with hard-limits may thenbe converted to constraints and be removed from the objective function.The objective function may then be solved subject to the variousconstraints to determine an optimal topology for providinginterconnection of the cell sites.

For clarity purposes, the various terms used in the above equation (1)are described below. The method first defines the sets (Table 1),parameters (Table 2) and variables (Table 3) as shown below:

TABLE 1 SETS DESCRIPTION i ∈ NODE Set of Sites to be clustered viamicrowaves p ∈ PNODE Nodes that are the traffic sink, also known asprimary node or donor nodes (j, k) ∈ LINK ∀ j ⊂ Set of valid potentiallinks between Site-Site (a cell {NODE ∪ site but not a primary node) andSite-Primary Node PNODE} and k ⊂ (a cell site that is a primary node).The valid potential (NODE ∪ PNODE} links may be based on apre-processing step that determines validity based on a maximum allowedlink distance and microwave (MW) Range. The set includes links in bothdirections (j, k) and (k, j). (j′, k′) ∈ Links without Line-Of-Sight.The set may be NO_LOS; NO_LOS ⊂ LINK constructed either by users askingthe model to eliminate such links entirely or by penalizing a linkwithout a line-of-sight to discourage using such links. l ∈ Lnk_TypMicrowave link type, e.g., 6 GHz, 11 GHz, 18 GHz etc. It is important tonote that the formulation can be adapted to do financial comparisonsbetween Microwave, Fiber and Lease options in which case in addition tothe MW types, Fiber and lease link types need to be included in thisset. (j, k, l, m) Link—pairs to be excluded from the final topology. ∈PAIR_EXCL; (j, k) The list may be provided by the users or generated ⊂LINK and (l, m) ⊂ LINK by running the Link—Pair Exclusion algorithm ofthe current method (described below). (j, k, l) ∈ Links to be excludedfrom the final topology. The list MW_LINK_EXCL; (j, k) ⊂ may be providedby the users or generated by LINK and l ⊂ Lnk_Typ running theline-of-sight and path availability analysis of the current method. (j′,k′, l′, m′) ∈ Link—pairs to be included into the final topology. ThePAIR_INCL; (j′, k′) ⊂ list may be provided by the users. LINK and (l′,m′) ⊂ LINK (j′, k′, l′) ∈ Link—to be included into the final topology.The list MW_LINK_INCL; (j′, k′) ⊂ may be provided by the users. LINK andl′ ⊂ Lnk_Typ

TABLE 2 PARAMETERS DESCRIPTION Dmnd{i ∈ NODE} ≧ 1Demand/Traffic/bandwidth units to be carried/transported from/to eachnode. This may be input by the users. Typical units, as used in thefield, are ‘megabits per second’. For simplicity, the units are assumedas having integer values. CapLvl{l ∈ Lnk_Typ} ≧ 0; integer CapacityLevel of a candidate link type l. A link of type l might have differentcapacity levels based on various equipment configurations. Cap {l ∈Lnk_Typ, c ∈ 1..CapLvl[l]} ≧ 0 Actual Capacity of a link between twonodes j, k of type l. LinkCost {l ∈ Lnk_Typ, c ∈ Cost of microwavelinks. The cost 1..CapLvl[l]} ≧ 0 includes cost associated with tworadios, other equipment, cabling, installation, maintenance, siteacquisition, filing fee, etc. Hop_Limit ≧ 0; integer Maximum number ofhops allowed for any given site to be connected to the final sink node.This parameter is configurable by users. MAX_Radios{i ∈ NODE] ≧ 1;integer Maximum number of microwave dishes to be allowed at a given site(user configurable). DIST{(j, k) ∈ LINK} ≧ 0 Geographical spans ofcandidate links between two locations. This parameter is useful inobjective function while limiting the overall microwave miles.LOS_Penalty Penalty of using a link with no line of sight

TABLE 3 VARIABLES DESCRIPTION x[i, p, j, k, l]; of i ε NODE goes to p εPNODE A variable with a binary outcome, using (j, k) ε LINK of type l εwhich is set to one if a link j, k of type l Lnk_Typ or not; binaryvariable is used for the path from node i to primary node p, and is setto zero otherwise. y[j, k, l, i]; amount of traffic on link (j, k) Avariable with values set to the ε LINK amount of traffic on link j, k oftype l due of type l ε Lnk_Typ due to node i ∀ j > k to node i. Notethat the integer assumption is based on the previous assumption in table2 regarding the demand traffic at each node being an integer value (forsimplicity); this is not a limiting factor though. This variable can bereplaced by a continuous variable with values > 0. z[j, k, l, c]; numberof links (j, k) ε A variable for the number of microwave LINK of type lε links to be deployed between j, k of type Lnk_Typ and capacity level cε l and capacity c to carry the traffic that 1..CapLvl[l] activated inthe final topology; needs to flow on this link as per the integervariable final microwave topology. radios {j in NODE} =  ${\sum\limits_{{({j,k})}\; \in \; {{LINK}:{j > k}}}\; {\sum\limits_{l \in {Lnk\_ Typ}}\; {\sum\limits_{c = 1}^{{CapLvl}{\lbrack l\rbrack}}\; {z\left\lbrack {j,k,l,c} \right\rbrack}}}} + {\sum\limits_{{({k,j})}\; \in \; {{LINK}:{k > j}}}\; {\sum\limits_{l \in {Lnk\_ Typ}}\; {\sum\limits_{c = 1}^{{CapLvl}{\lbrack l\rbrack}}{z\left\lbrack {k,j,l,c} \right\rbrack}}}}$A variable for total number of microwave dishes installed at each site.This is a dependent variable. degfree {i in NODE} > 0; A variable fordegrees of freedom, integer variable which is driven by the selectedmicrowave topology. There is no redundancy when degfree = 1 (treetopology), there are two distinct paths when degfree = 2 (meshtopology), and so on. For example, for standard redundancy, microwaveengineers may use 2 disjoint paths.

The method then accounts for the various factors of the objectivefunction using the sets, parameters and variables provided in Tables1-3.

In one embodiment, Equation 1 accounts for the penalty associated withthe cost of deploying microwave links via the term:

$\sum\limits_{{({j,k})} \in {{LINK}:{j > k}}}{\sum\limits_{l \in {Lnk\_ Typ}}{\sum\limits_{c = 1}^{{CapLvl}{\lbrack l\rbrack}}{{z\left\lbrack {j,k,l,c} \right\rbrack}*{{LinkCost}\left\lbrack {l,c} \right\rbrack}}}}$

Equation 1 accounts for the penalty associated with overall microwavemiles via the term:

$\sum\limits_{{({j,k})} \in {{LINK}:{j > k}}}{\sum\limits_{l \in {Lnk\_ Typ}}{\sum\limits_{c = 1}^{{CapLvl}{\lbrack l\rbrack}}{{z\left\lbrack {j,k,l,c} \right\rbrack}*{{DIST}\left\lbrack {j,k} \right\rbrack}}}}$

Equation 1 accounts for the penalty associated with not meeting line ofsight objectives via the term:

$\sum\limits_{{({j,k})} \in {{LINK}:{j > k}}}{\sum\limits_{l \in {Lnk\_ Typ}}{\sum\limits_{c = 1}^{{CapLvl}{\lbrack l\rbrack}}{{z\left\lbrack {j,k,l,c} \right\rbrack}*\left( {{{if}\mspace{14mu} \left( {j,k} \right)} \in {{NO\_ LOS}\mspace{14mu} {then}\mspace{14mu} {LOS\_ Penalty}\mspace{14mu} {else}\mspace{14mu} 1}} \right)}}}$

Equation 1 accounts for the penalty associated with a plurality ofdisjoint paths from a cell site being destined at a same sink node viathe term:

$\sum\limits_{i \in {NODE}}{\left( {{if}\mspace{14mu} i\mspace{14mu} {goes}\mspace{14mu} {to}\mspace{14mu} {the}\mspace{14mu} {same}\mspace{14mu} {sink}\mspace{14mu} p\mspace{14mu} {for}\mspace{14mu} {its}\mspace{14mu} {disjoint}\mspace{14mu} {paths}\mspace{14mu} {then}\mspace{14mu} 1\mspace{14mu} {else}\mspace{14mu} 0} \right)*{Same\_ Sink}{\_ Penalty}}$

Equation 1 accounts for the penalty associated with a number ofmicrowave dishes that should be located at a given cell site via theterm:

$\sum\limits_{w \in {NODE}}{\max \left\{ {\left( {{{radios}\lbrack w\rbrack} - {{MAX\_ Radios}\lbrack w\rbrack}} \right),0} \right\}*{Radio\_ Limit}{\_ Penalty}}$

In one embodiment, the method also defines the constraints using thesets, parameter and variables provided in Tables 1-3. For example, thecurrent method defines the following constraints for determining theoptimal topology as discussed below.

In order to obtain the total traffic that flows through link (j,k) dueto path(s) from node i to the sink nodes, the method adds theconstraint:

subject to constraint LinearizeMinMax:

${{y\left\lbrack {j,k,l,i} \right\rbrack} \geq {\sum\limits_{p \in {{PNODE}:{i \neq p}}}{\left( {\left( {{x\left\lbrack {i,p,j,k,l} \right\rbrack} + {x\left\lbrack {i,p,k,j,l} \right\rbrack}} \right)*{{Dmnd}\lbrack i\rbrack}} \right){\forall{\left( {j,k} \right) \in {LINK}}}}}},{l \in {Lnk\_ Typ}},{i \in {{{NODE}\mspace{14mu} {and}\mspace{14mu} j} > k}}$

Then, based on the total traffic that flows through link (j,k) due topath(s) from all such nodes i to the sink nodes, the method needs todeploy microwave links between nodes j and k of type l and capacity cthat can handle all this traffic. Therefore, the method adds thecapacity based constraint:

subject to constraint Capacity:

${{\sum\limits_{i \in {NODE}}{y\left\lbrack {j,k,l,i} \right\rbrack}} \leq {\sum\limits_{c = 1}^{{CapLvl}{\lbrack l\rbrack}}{\left( {{z\left\lbrack {j,k,l,c} \right\rbrack}*{{Cap}\left\lbrack {l,c} \right\rbrack}} \right){\forall{\left( {j,k} \right) \in {LINK}}}}}},{l \in {{{Lnk\_ Typ}\mspace{14mu} {and}\mspace{14mu} j} > k}}$

In order to provide a number of links for traffic coming out of a nodei, in accordance with the degrees of freedom, the method addsconstraints based on the degrees of freedom. For example, for d links oftype l coming out of node i for d-disjoint paths going to nodes p, themethod adds the constraint:

-   -   subject to constraint trfsrc:

${\sum\limits_{p \in {PNODE}}{\sum\limits_{k \in {{NODE}\bigcup{{PNODE}:{{({i,k})} \in {LINK}}}}}{\sum\limits_{l \in {Lnk\_ Typ}}{x\left\lbrack {i,p,i,k,l} \right\rbrack}}}} = {{{degfree}\lbrack i\rbrack}{\forall{i \in {NODE}}}}$

In order to provide a number of links for traffic coming to a primarynode (due to paths from nodes i to this primary node), in accordancewith the degrees of freedom, the method adds constraints based on thedegrees of freedom. For example, for d links of type l coming into nodesp due to d-disjoint paths from node i, the method adds the constraint:

subject to constraint trfsnk:

${\sum\limits_{p \in {PNODE}}{\sum\limits_{j \in {{NODE}:{{({j,p})} \in {LINK}}}}{\sum\limits_{l \in {Lnk\_ Typ}}{x\left\lbrack {i,p,j,p,l} \right\rbrack}}}} = {{{degfree}\lbrack i\rbrack}{\forall{i \in {NODE}}}}$

All the flows on links coming into an intermediate node ‘w’ need to goout. Note that ‘w’ is not a starting node or the sink (end) node.Therefore, the intermediate node is subject to a constraint based onbalancing the flows coming in and out of the node. Thus, the method addsthe following constraint for intermediate nodes:

subject to constraint balance:

${{\sum\limits_{{{k{\; \;}{in}\mspace{11mu} {NODE}}\;\bigcup\; {{PNODE}:{{({w,k})} \in {LINK}}}}\;}{\sum\limits_{l \in {{Lnk}\_ {Typ}}}{x\left\lbrack {i,p,w,k,l} \right\rbrack}}} = {\sum\limits_{{j \in \; {{NODE}:{{({j,w})} \in {LINK}}}}\;}{\sum\limits_{l \in {{Lnk}\_ {Typ}}}{{x\left\lbrack {i,p,j,w,l} \right\rbrack}{\forall{i \in \; {NODE}}}}}}},{p \in {PNODE}},{w \in {{{NODE}\;\bigcup\; {{PNODE}\text{:}\mspace{14mu} w}} \neq {i\mspace{14mu} {and}\mspace{14mu} w} \neq p}}$

In order to not use a link j,k of type l for the d-disjoint paths fromnode i to sinks p, the method adds the constraint:

subject to constraint disjointpath:

${{\sum\limits_{p \in {{PNODE}:{i \neq p}}}\left( {{x\left\lbrack {i,p,j,k,l} \right\rbrack} + {x\left\lbrack {i,p,k,j,l} \right\rbrack}} \right)} \leq {1{\forall{i \in {NODE}}}}},{\left( {j,k} \right) \in {LINK}},{l \in {Lnk\_ Typ}}$

In order to enforce a hop limit at a given site, the method adds theconstraint:

subject to constraint Hop Limit:

${{\sum\limits_{{({j,k})} \in {{LINK}:{j > k}}}\; {\sum\limits_{l \in {{Lnk}\_ {Typ}}}\left( {{x\left\lbrack {i,p,j,k,l} \right\rbrack} + {x\left\lbrack {i,p,k,j,l} \right\rbrack}} \right)}} \leq {{Hop\_ Limit}{\forall{i \in {NODE}}}}},{p \in {PNODE}}$

In order to enforce the limit on the number of maximum microwaves dishesthat can be put on a site (including sink nodes), the method adds theconstraint:

subject to constraint Radio Limit:

radios[j]<=MAX_Radios[j]∀jεNODE

In order to enforce a line of sight elimination constraint, the methodadds:

subject to constraint LOS Elimination:

z[j,k,l,c]=0∀(j,k)εLINK, lεLnk_Typ, cεCapLvl[l], j>k and (j,k)εNO_LOS

In order to enforce link inclusion constraints, the method adds theconstraint:

subject to Include Links:

${\sum\limits_{c = 1}^{{CapLvl}\;\lbrack l\rbrack}{z\left\lbrack {j,k,l,c} \right\rbrack}} \geq {1{\forall{\left( {j,k,l} \right)\mspace{14mu} {in}\mspace{14mu} {MW\_ LINK}{\_ INCL}}}}$

In order to enforce Link-Pair inclusion constraints, the method addssubject to Include Link Pair:

${{\sum\limits_{l \in {{Lnk}\_ {Typ}}}{\sum\limits_{{c\; 1} = 1}^{{CapLvl}\;\lbrack l\rbrack}\; {\sum\limits_{{c\; 2} = 1}^{{CapLvl}\;\lbrack l\rbrack}\left( {{z\left\lbrack {j,k,l,{c\; 1}} \right\rbrack} + {z\left\lbrack {m,n,l,{c\; 2}} \right\rbrack}} \right)}}} = {2{\forall{\left( {j,k} \right) \in {LINK}}}}},{\left( {m,n} \right) \in {{LINK}\mspace{14mu} {and}\mspace{14mu} \left( {j,k,m,n} \right)} \in {{{PAIR\_ INCL}\mspace{14mu} {and}\mspace{14mu} m} > n}}$

In order to enforce Link exclusion constraints, the method adds subjectto Exclude Links:

${\sum\limits_{c = 1}^{{CapLvl}\;\lbrack l\rbrack}{z\left\lbrack {j,k,l,c} \right\rbrack}} = {0{\forall{\left( {j,k,l} \right)\mspace{14mu} {in}\mspace{14mu} {MW\_ LINK}{\_ EXCL}}}}$

In order to enforce Link-Pair exclusion constraints, the method adds:

subject to Exclude Link Pair:

${{\sum\limits_{l \in {{Lnk}\_ {Typ}}}{\sum\limits_{{c\; 1} = 1}^{{CapLvl}\;\lbrack l\rbrack}\; {\sum\limits_{{c\; 2} = 1}^{{CapLvl}\;\lbrack l\rbrack}\left( {{z\left\lbrack {j,k,l,{c\; 1}} \right\rbrack} + {z\left\lbrack {m,n,l,{c\; 2}} \right\rbrack}} \right)}}} \leq {1{\forall{\left( {j,k} \right) \in {LINK}}}}},{\left( {m,n} \right) \in {{LINK}\mspace{14mu} {and}\mspace{14mu} \left( {j,k,m,n} \right)} \in {{{PAIR\_ EXCL}\mspace{14mu} {and}\mspace{14mu} m} > n}}$

In one embodiment, the method may require outputting a “Variable”topology. This topology requires that a node i should be connected to atleast one sink node. In the output topology, if node i has more than ‘K’microwave radios, then the method may require a degree of redundancy(e.g., two). Note that the ‘K’ is user specific, e.g., 2. In order toobtain the redundancy, the method adds the constraint:

subject to Variable_Redundancy:

(MAX_Radios[i]*(degfree[i]−1))+(K−radios[i])≧0∀iεNODE

In one embodiment, the method may require outputting a “necklace”topology. In order to obtain the necklace topology, the method adds theconstraint below for cell sites that are not sink nodes. The constraintis:

subject to Necklace_radios

radios[i]=2∀iεNODE

The optimal solution for equation (1) that satisfies all the constraintsdefined above may then be found using a linear programming method. Forexample, a linear programming solver may be used.

As described above, constraints for excluding links and/or link pairsmay be added for determining an optimal solution for equation (1) thatmeets the line-of-sight and path availability requirements, as well asinterference requirements.

In one embodiment, the method first determines the appropriateconstraints for line-of-sight and path availability. In one embodiment,the line-of-sight and path availability constraints are provided by theuser. For example, the user may have other means for determining suchcriteria. For example, a terrain map may be used to identify rivers,mountains, buildings, weather patterns, etc. that may obstruct themicrowave link. In another example, a government entity, e.g., TheFederal Communications Commission (FCC), may have requirements that addconstraints other than due to line-of-sight and path availability.

In one embodiment, the method then determines the appropriateconstraints for pairs of links such that the microwave beams are not tooclose to each other. Microwave beams that are too close to each othermay cause interference, thereby reducing the quality of a receivedsignal. In one example, a pair of microwave beams coincident at a commonnode may have inadequate angular separation, thereby resulting ininterference. In another example, a pair of non-coincident microwavebeams may have inadequate physical separation (vertical or horizontalseparation), thereby resulting in interference. In yet another example,the pairs of beams may cross each other.

In one embodiment, the current method determines constraints for linkpair exclusions such that the resulting topology meets a minimummicrowave beam angle restriction requirement and a vertical/horizontalseparation requirement. The resulting topology has microwave beams thatdo not cross each other and do not interfere with each other.

In one embodiment, the constraints for link pair exclusion are providedby the user (network planner). For example, the user may have othermeans for determining if pairs of microwave beams when deployed togethercould cause interference. In another embodiment, the constraints forlink pair exclusion are determined based on a geometrical analysis asdescribed below.

For a given pair of microwave beams, the method determines if either aminimum angular separation rule (for coincident beams) or a minimumdistance rule (non-coincident beams) is violated. If either the minimumangular separation rule (for coincident beams) or the minimum distancerule (for non-coincident beams) is violated, the method adds a link pairexclusion constraint for the given pair of microwave beams. For example,if one of the violating pairs of links thus identified is {(j,k),(m,n)}, where j and k denote the identities of the nodes connected bythe link (j,k) and m and n denote the identities of the nodes connectedby the link (m,n), a constraint of the form Z_(jk)+Z_(mn)≦1 is added tothe ILP formulation, with Z_(jk) and Z_(mn) being binary variablesindicative of the activation of the respective links. If a link isactivated, the corresponding variable would assume a value of one,otherwise it would assume a value of zero. Since the sum of the valuesof the pair of link activation variables has to be less than or equal toone by virtue of the constraint, it is clear that at most one link isactivated.

As described above, the determination of whether or not a link pairexclusion constraint is needed for a pair of links depends on theseparation of the beams (angular or physical). In order to determine theneed for the link pair exclusion constraint, the current method firstdetermines the (angular or physical) separation between pairs ofcandidate microwave beams (i.e., candidate links). If a given pair ofmicrowave beam is coincident at either edge, an angular separation iscomputed. If the given pair of microwave beam is non-coincident, theshortest distance between the pair of beams is computed. As applicable,the shortest distance computation or the angular separation computationis carried out, as described below.

Shortest distance computation: As noted earlier, for a given pair ofnon-coincident microwave beams (i.e., beams that belong to a samefrequency band but physically not-coincident at any edge), only one ofthe pair of beams is allowed to be activated if the shortest distancebetween the pair of the beams is less than a specified minimumthreshold. To aid in determining if only one of the pair of beams shouldbe allowed to be activated, the method proceeds to compute the shortestdistance between each pair of beams of interest, starting from thegeographical locations of their end points. To aid the process ofdetermining the shortest distance between each pair of beams, thespatial coordinates of the four edges are first specified in Cartesianformat (e.g., Hcoord, Vcoord) along with the antenna height at each edgebased on a common reference (all metrics being expressed in identicalunits).

First, let D_(min)(X,Y) represent the minimum distance between theentities X and Y, either of which could be a point, an infinite line ora line segment.

Consider the set of four points in an n-dimensional space are denotedby: A=(a₁, . . . , a_(n)); B=(b₁, . . . , b_(n)); C=(c₁, . . . c_(n));D=(d₁, . . . , d_(n)).

The four points A, B, C and D may then be regarded as denotingrespective position vectors with reference to an arbitrary origin. Let{right arrow over (P)} denote a directed line segment from point A topoint B and {right arrow over (Q)}denote a directed line segment frompoint C to point D. In the context of the microwave beam proximityanalysis of the present disclosure, {right arrow over (P)} and {rightarrow over (Q)} represent the two microwave beams (directionality beingchosen at random, though necessary for the mathematical treatmentbelow), with A and B being the nodes connected by {right arrow over (P)}and C and D being the nodes connected by {right arrow over (Q)}. Alsofor this analysis, n=2 or 3; n=2 in a simplified 2-dimensional casewhere all microwave antennas are assumed to be of the same elevation,and n=3 in a more general case where this assumption is not employed.The objective is to calculate the shortest distance D_(min)({right arrowover (P)},{right arrow over (Q)}) between {right arrow over (P)} and{right arrow over (Q)}.

Then, let

denote the infinite line passing through the points A and B, and

denote an infinite line passing through the points C and D. The positionvector of any point along the infinite line

may be parametrically defined as:

P(s)=A+(B−A)s, −∞<s<∞.

Similarly, the position vector of any point along the infinite line

may be parametrically defined as: Q(t)=C+(D−C)t, −∞<t<∞. Note that theposition vectors of the points within the finite line segment {rightarrow over (P)} are given by:

P(s):0≦s≦1.

Similarly, the position vectors of the points within the finite linesegment and {right arrow over (Q)} are given by Q(t): 0≦t≦1. Thedistinction among

, {right arrow over (P)} and P(s) (similarly, among

,{right arrow over (Q)} and Q(t)) may be noted. The remainder of thecomputation of the shortest distance D_(min)({right arrow over(P)},{right arrow over (Q)}) is carried out in two steps, Step I andStep II.

Step I of shortest distance computation: In the first step, the methodfirst checks if the infinite lines

and

are parallel. Specifically, the infinite lines

and

are parallel if the vector cross product given by (D−C)×(B−A) equalszero. For example, for n=3, (d₂−c₂)·(b₃−a₃)−(d₃−c₃)·(b₂−a₂)=0;(d₁−c₁)·(b₃−a₃)−(d₃−c₃)·(b₁−a₁)=0; and(d₁−c₁)·(b₂−a₂)−(d₂−c₂)·(b₁−a₁)=0.

If the infinite lines

and

are parallel (cross product is equal to zero), the method may then skipthe remainder of Step I and proceed to the Step II. Otherwise, themethod continues in Step 1 to determine the shortest distance of thenon-parallel lines as follows:

The vector extending from an arbitrary point along

to an arbitrary point along the infinite line

is given by:

Ψ(s,t)=Q(t)−P(s)=(C−A)+(D−C)t+(A−B)s, −∞<s,t<∞.

The L₂ norm of the vector extending from the arbitrary point along

to the arbitrary point along the infinite line

is then ∥Ψ(s,t)∥². The L₂ norm is then given by:

∥Ψ(s,t)∥²=(C−A)+(D−C)t+(A−B)s∥ ², =Σ_(i=1) ^(n){(c _(i) −a _(i))²+(d_(i) −c _(i))² t ²+(a _(i) −b _(i))² s ²+2(c _(i) −a _(i))(d _(i) −c_(i))t+2(c _(i) −a _(i))(a _(i) −b _(i))s+2(d _(i) −c _(i))(a _(i) −b_(i))st}, −∞<s,t<∞.

The shortest distance D_(min)(

,

) between the infinite lines

and

is given by the minimum length of the vector Ψ(s,t), which is obtainedby setting the partial derivatives of the L₂ norm ∥Ψ(s,t)∥² to zero.

$\begin{matrix}{\frac{\partial{{\Psi \left( {s,t} \right)}}^{2}}{\partial s} = \left. 0\rightarrow{{s{\sum\limits_{i = 1}^{n}\left( {a_{i} - b_{i}} \right)^{2}}} + {t{\sum\limits_{i = 1}^{n}{\left( {d_{i} - c_{i}} \right)\left( {a_{i} - b_{i}} \right)}}} +} \right.} \\{{\sum\limits_{i = 1}^{n}{\left( {c_{i} - a_{i}} \right)\left( {a_{i} - b_{i}} \right)}}} \\{= 0}\end{matrix}$ $\begin{matrix}{\frac{\partial{{\Psi \left( {s,t} \right)}}^{2}}{\partial t} = \left. 0\rightarrow{{s{\sum\limits_{i = 1}^{n}{\left( {d_{i} - c_{i}} \right)\left( {a_{i} - b_{i}} \right)}}} + {t{\sum\limits_{i = 1}^{n}\left( {d_{i} - c_{i}} \right)^{2}}} +} \right.} \\{{\sum\limits_{i = 1}^{n}{\left( {c_{i} - a_{i}} \right)\left( {d_{i} - c_{i}} \right)}}} \\{= 0}\end{matrix}$

Another approach for obtaining the same set of equations is by observingthat Ψ(s,t) has a minimum length when it is perpendicular to both P(s)and Q(t), leading to the relations Ψ(s,t)·∂P(s)/∂s=0 andΨ(s,t)·∂Q(t)/∂t=0, which reduces to the same equations as above. Inmatrix form the above set of relations can be stated as:

${\begin{bmatrix}{\sum\limits_{i = 1}^{n}\left( {a_{i} - b_{i}} \right)} & {\sum\limits_{i = 1}^{n}{\left( {d_{i} - c_{i}} \right)\left( {a_{i} - b_{i}} \right)}} \\{\sum\limits_{i = 1}^{n}{\left( {d_{i} - c_{i}} \right)\left( {a_{i} - b_{i}} \right)}} & {\sum\limits_{i = 1}^{n}\left( {d_{i} - c_{i}} \right)^{2}}\end{bmatrix}\begin{bmatrix}s \\t\end{bmatrix}} = {\begin{bmatrix}{\sum\limits_{i = 1}^{n}{\left( {a_{i} - c_{i}} \right)\left( {a_{i} - b_{i}} \right)}} \\{\sum\limits_{i = 1}^{n}{\left( {a_{i} - c_{i}} \right)\left( {d_{i} - c_{i}} \right)}}\end{bmatrix}.}$

The minimization values of the parameters s* and t* are obtained viaCramer's rule as follows:

${s^{*} = \frac{\begin{matrix}{{\sum\limits_{i = 1}^{n}{\left( {a_{i} - c_{i}} \right){\left( {a_{i} - b_{i}} \right) \cdot {\sum\limits_{i = 1}^{n}\left( {d_{i} - c_{i}} \right)^{2}}}}} -} \\{\sum\limits_{i = 1}^{n}{\left( {d_{i} - c_{i}} \right){\left( {a_{i} - b_{i}} \right) \cdot {\sum\limits_{i = 1}^{n}{\left( {a_{i} - c_{i}} \right)\left( {d_{i} - c_{i}} \right)}}}}}\end{matrix}}{{\sum\limits_{i = 1}^{n}{\left( {a_{i} - b_{i}} \right)^{2} \cdot {\sum\limits_{i = 1}^{n}\left( {d_{i} - c_{i}} \right)^{2}}}} - \left\lbrack {\sum\limits_{i = 1}^{n}{\left( {d_{i} - c_{i}} \right)\left( {a_{i} - b_{i}} \right)}} \right\rbrack^{2}}};$and $t^{*} = {\frac{\begin{matrix}{{\sum\limits_{i = 1}^{n}{\left( {a_{i} - b_{i}} \right)^{2} \cdot {\sum\limits_{i = 1}^{n}{\left( {a_{i} - c_{i}} \right)\left( {d_{i} - c_{i}} \right)}}}} -} \\{\sum\limits_{i = 1}^{n}{\left( {a_{i} - c_{i}} \right){\left( {a_{i} - b_{i}} \right) \cdot {\sum\limits_{i = 1}^{n}{\left( {d_{i} - c_{i}} \right)\left( {a_{i} - b_{i}} \right)}}}}}\end{matrix}}{{\sum\limits_{i = 1}^{n}{\left( {a_{i} - b_{i}} \right)^{2} \cdot {\sum\limits_{i = 1}^{n}\left( {d_{i} - c_{i}} \right)^{2}}}} - \left\lbrack {\sum\limits_{i = 1}^{n}{\left( {d_{i} - c_{i}} \right)\left( {a_{i} - b_{i}} \right)}} \right\rbrack^{2}}.}$

If 0≦s*≦1 and 0≦t*≦1, then the corresponding position vectors terminatewithin the line segments {right arrow over (P)} and {right arrow over(Q)}, respectively, in which case, the method outputs the shortestdistance between {right arrow over (P)} and {right arrow over (Q)} givenby:

${D_{\min}\left( {\overset{->}{P},\overset{->}{Q}} \right)} = {{D_{\min}\left( {\overset{\dddot{}}{P},\overset{\dddot{}}{Q}} \right)} = \sqrt{{{\Psi \left( {s^{*},t^{*}} \right)}}^{2}}}$

(where s* and t* are computed as shown above). The method then proceedsdirectly to the exit point of the link pair exclusion constraintgeneration algorithm further below and exits. It may be noted that forthe case of n=2, D_(min)(

,

)=0. If on the other hand s* and t* do not both fall in the range (0,1),then the above results are discarded and the method continues below toStep II of the algorithm.

Step II of the algorithm is entered at this point, either if the beamswere deemed parallel (by virtue of the cross product evaluating to zero)at the beginning of Step I, or if the exit condition failed in theparagraph above. In this case, the shortest distance D_(min)({rightarrow over (P)},{right arrow over (Q)}) between {right arrow over (P)}and {right arrow over (Q)}, is given by: D_(min)({right arrow over(P)},{right arrow over (Q)})=Minimum{D_(min)(A,{right arrow over (Q)}),D_(min)(B,{right arrow over (Q)}), D_(min)(C,{right arrow over (P)}),D_(min)(D,{right arrow over (P)})}.

The computation of each of the four terms above is exemplified by thecomputation of D_(min)(A,{right arrow over (Q)}) as described below. Themethod first calculates the shortest (i.e., perpendicular) distanceD_(min)(A,

) from the point A to the infinite line

. The vector from point A to an arbitrary point on

, V_(Q) ^(A)(t), is given by:

V _(Q) ^(A)(t)=Q(t)−A=C−A+(D−C)t.

The length of V_(Q) ^(A)(t) is computed as:

$\sqrt{{{V_{Q}^{A}(t)}}^{2}} = \sqrt{\sum\limits_{i = 1}^{n}{\left\lbrack {\left( {c_{i} - a_{i}} \right) + {\left( {d_{i} - c_{i}} \right)t}} \right\rbrack^{2}.}}$

V_(Q) ^(A)(t) is perpendicular to Q(t) and thus of minimum length at thevalue of t such that that V_(Q) ^(A)(t)·∂Q(t)/∂t=0. i.e.,[C−A+(D−C)t]·[D−C]=0

Denoting the value of t that satisfies the above relation by t′_(AQ) andsolving, the method obtains:

${t_{AQ}^{\prime} = \frac{\sum\limits_{i = 1}^{n}{\left( {a_{i} - c_{i}} \right)\left( {d_{i} - c_{i}} \right)}}{\sum\limits_{i = 1}^{n}\left( {d_{i} - c_{i}} \right)^{2}}};{{D_{\min}\left( {A,\overset{\dddot{}}{Q}} \right)} = {\sqrt{{{V_{Q}^{A}\left( t_{AQ}^{\prime} \right)}}^{2}}.}}$

Note that

${D_{\min}\left( {A,\overset{->}{Q}} \right)} = {{Minimum}{\left\{ {\sqrt{{{V_{Q}^{A}(t)}}^{2}}:{0 \leq t \leq 1}} \right\}.}}$

This minimum is achieved at t=t′_(AQ) if 0≦t′_(AQ)≦1. Otherwise, theminimum is achieved at the point t=0 or the point t=1, whichever isclosest to t′_(AQ). In other words, the method first computes theminimization scalar point {circumflex over (t)}_(AQ) given by:

$\begin{matrix}{{\hat{t}}_{AQ} = {{Min}\left\{ {{{Max}\left\lbrack {0,t_{AQ}^{\prime}} \right\rbrack},1} \right\}}} \\{{= {{Min}\left\{ {{{Max}\left\lbrack {0,\frac{\sum\limits_{i = 1}^{n}{\left( {a_{i} - c_{i}} \right)\left( {d_{i} - c_{i}} \right)}}{\sum\limits_{i = 1}^{n}\left( {d_{i} - c_{i}} \right)^{2}}} \right\rbrack},1} \right\}}},}\end{matrix}$

andD_(min)(A,{right arrow over (Q)}) is given by:

${D_{\min}\left( {A,\overset{->}{Q}} \right)} = {\sqrt{{{V_{Q}^{A}\left( {\hat{t}}_{AQ} \right)}}^{2}} = {\sqrt{\sum\limits_{i = 1}^{n}\left\lbrack {\left( {c_{i} - a_{i}} \right) + {\left( {d_{i} - c_{i}} \right){\hat{t}}_{AQ}}} \right\rbrack^{2}}.}}$

Similarly, to compute D_(min)(B,{right arrow over (Q)}), the methodfirst determines {circumflex over (t)}_(BQ) given by:

$\begin{matrix}{{\hat{t}}_{BQ} = {{Min}\left\{ {{{Max}\left\lbrack {0,t_{BQ}^{\prime}} \right\rbrack},1} \right\}}} \\{{= {{Min}\left\{ {{{Max}\left\lbrack {0,\frac{\sum\limits_{i = 1}^{n}{\left( {b_{i} - c_{i}} \right)\left( {d_{i} - c_{i}} \right)}}{\sum\limits_{i = 1}^{n}\left( {d_{i} - c_{i}} \right)^{2}}} \right\rbrack},1} \right\}}},}\end{matrix}$

and

D_(min)(B,{right arrow over (Q)}) is given by:

${D_{\min}\left( {B,\overset{->}{Q}} \right)} = {\sqrt{{{V_{Q}^{B}\left( {\hat{t}}_{BQ} \right)}}^{2}} = {\sqrt{\sum\limits_{i = 1}^{n}\left\lbrack {\left( {c_{i} - b_{i}} \right) + {\left( {d_{i} - c_{i}} \right){\hat{t}}_{BQ}}} \right\rbrack^{2}}.}}$

Then, in order to compute D_(min)(C,{right arrow over (P)}), the methoddetermines

$\begin{matrix}{{\hat{s}}_{CP} = {{Min}\left\{ {{{Max}\left\lbrack {0,s_{CP}^{\prime}} \right\rbrack},1} \right\}}} \\{{= {{Min}\left\{ {{{Max}\left\lbrack {0,\frac{\sum\limits_{i = 1}^{n}{\left( {c_{i} - a_{i}} \right)\left( {b_{i} - a_{i}} \right)}}{\sum\limits_{i = 1}^{n}\left( {b_{i} - a_{i}} \right)^{2}}} \right\rbrack},1} \right\}}};}\end{matrix}$

which leads to:

${D_{\min}\left( {C,\overset{->}{P}} \right)} = {\sqrt{{{V_{P}^{C}\left( {\hat{s}}_{CP} \right)}}^{2}} = {\sqrt{\sum\limits_{i = 1}^{n}\left\lbrack {\left( {a_{i} - c_{i}} \right) + {\left( {b_{i} - a_{i}} \right){\hat{s}}_{CP}}} \right\rbrack^{2}}.}}$

Then,

$\begin{matrix}{{\hat{s}}_{DP} = {{Min}\left\{ {{{Max}\left\lbrack {0,s_{DP}^{\prime}} \right\rbrack},1} \right\}}} \\{= {{Min}{\left\{ {{{Max}\left\lbrack {0,\frac{\sum\limits_{i = 1}^{n}{\left( {d_{i} - a_{i}} \right)\left( {b_{i} - a_{i}} \right)}}{\sum\limits_{i = 1}^{n}\left( {b_{i} - a_{i}} \right)^{2}}} \right\rbrack},1} \right\}.}}}\end{matrix}$

which yields:

${D_{\min}\left( {D,\overset{->}{P}} \right)} = {\sqrt{{{V_{P}^{D}\left( {\hat{s}}_{DP} \right)}}^{2}} = {\sqrt{\sum\limits_{i = 1}^{n}\left\lbrack {\left( {a_{i} - d_{i}} \right) + {\left( {b_{i} - a_{i}} \right){\hat{s}}_{DP}}} \right\rbrack^{2}}.}}$

The method then proceeds to determine the shortest distanceD_(min)({right arrow over (P)},{right arrow over (Q)}) via theminimization operation described earlier, and proceeds to the exit pointof the link pair exclusion constraint generation algorithm furtherbelow.

For microwave beams that are coincident at a common edge, the angulardistance computation proceeds as follows. As mentioned before, among anygiven pair of 3-dimensional microwave beam candidates that radiate froma common vertex in the horizontal and vertical (Hcoord-Vcoord) plane(i.e., there can be vertical separation), only one beam should beallowed to be activated.

The condition can be expressed as a condition on: {Vertical separationat the common vertex<a specified threshold value} AND {the angularseparation at the common vertex Φ is less than a specified thresholdΦ_(min)}.

The computation of the angular separation Φ is described below. Forthis, the method ignores the third dimension (height), and assumes thatthe Hcoord and Vcoord values are represented by the first twodimensions. Accordingly, consider the points:

A=(a ₁ ,a ₂); B=(b ₁ ,b ₂); C=(c ₁ ,c ₂),

with beam {right arrow over (P)} oriented from A to B and beam {rightarrow over (Q)} oriented from C to B (B being the common vertex).

The reference angle of {right arrow over (P)}, Ω_(P), (measured fromgeographic east in the clockwise direction) is then given by thefollowing logic:

  If (a₁ − b₁ = 0) then   If (a₂ − b₂ = 0) then Ω_(P) = 0   Else if (a₂− b₂ > 0) then Ω_(P) = π/2   Else Ω_(P) = −π/2 Else   $\Omega_{P} = {\tan^{- 1}\frac{a_{2} - b_{2}}{a_{1} - b_{1}}}$   If (a₁− b₁ < 0) then Ω_(P) = Ω_(P) + π End if

Similarly, the reference angle of {right arrow over (Q)}, Ω_(Q), isgiven by the following logic:

  If (c₁ − b₁ = 0) then   If (c₂ − b₂ = 0) then Ω_(Q) = 0   Else if (c₂− b₂ > 0) then Ω_(Q) = π/2   Else Ω_(Q) = −π/2 Else   $\Omega_{Q} = {\tan^{- 1}\frac{c_{2} - b_{2}}{c_{1} - a_{1}}}$   If (c₁− b₁ < 0) then Ω_(Q) = Ω_(Q) + π End if

Then, the angular separation at the common vertex Φ is given by:

φ=Min{|Ω_(P)−Ω_(Q)|, 2π−|Ω_(P)−Ω_(Q)|}.

Exit point of the link pair exclusion constraint generation logic: Onceeither the angular separation or the minimum distance D_(min)({rightarrow over (P)},{right arrow over (Q)}) for a pair of microwave links isdetermined, it is compared to the respective threshold. For each pair ofmicrowave links P and Q (directionality is omitted) that is deemedexcludable, a link-pair exclusion constraint is added to the objectivefunction. For example, for the above pairs of links, the constraint:x_(P)+x_(Q)≦1, is added. The x_(P) and x_(Q) are binary variablesindicative of the activation of the respective microwave links.

In the above description of the current method, the link-pair exclusionconstraints were used to determine an optimal solution (a topology) forthe objective function in equation (1) in a single step. That is, themethod first exhaustively identified all possible pairs of linkcandidates that may violate the physical or angular separation rules andadded a constraint up front for each pair found to be in violation ofthe separation rules. However, as can be appreciated, this can lead to avery large number of constraint equations especially in large networks.Insertion of such an exhaustive list of link-pair exclusion constraintsmay make the ILP more difficult to solve. In one embodiment, the currentmethod therefore provides a multi-step approach.

The multi-step approach first formulates the objective function with allthe various criteria originally stipulated in Equation 1, but omittingthe link-pair exclusion constraints. The method then determines atopology by solving the objective function. The method then evaluatesthe resulting topology to determine if there are any pairs ofinstantiated links that may be interfering with each other. That is, themethod determines if there are any pairs of instantiated links thatviolate the separation rules, by applying the computational procedureabove to each such pair. For each pair of links that violates theseparation rules, the method then augments the objective function with acorresponding link-pair exclusion constraint. The method then determinesa new topology (e.g., by rerunning the ILP solver) with the additionalconstraints. The resulting topology may again be evaluated to determineif there are pairs of links that violate the separation rules, in whichcase the ILP is solved afresh with further constraints, and so on tillsuccessful termination. Thus, for large networks, the final topologythat satisfies the objective function and all the constraints may thenbe found via a multi-step approach without overwhelming the ILP solveror consuming excessive central processing unit (CPU) resources.

The resulting final topology may then be provided to the user. In oneembodiment, the user may specify one or more reports to be generated.For example, a report may be generated for network planning purposes,project handoff, for generating forms to be provided to a regulatoryagency, e.g., FCC, etc.

In one embodiment, the topology may be provided to the user via agraphical user interface for visualization. In one embodiment, the usermay provide feedback on the final topology such that improvements can bemade. In one embodiment, the feedback may be providing an input thatrequires the objective function and/or constraints to be re-formulated.

In one embodiment, the feedback may retain the objective function andconstraints while modifying one or more values of parameters. Forexample, the method may modify a degree of redundancy, a number ofradios allowed at a given entity, a maximum number of allowed hops toreach a sink node, a maximum number of allowable entities in a clusteredtopology (e.g., a necklace topology), etc. The method may also removeentities (cell sites and sink nodes) that are part of the clusteredoutput.

In one embodiment, the feedback may include generating a report based ona user preference. For example, the user may change the preferences forviewing the topology, reporting the topology, etc.

FIG. 2 provides an exemplary illustration 200 of a network with thecurrent method for providing an optimal topology for interconnection oftelecommunication nodes in a communication network. For example, thecurrent method for providing a topology for interconnection oftelecommunication nodes is implemented in an application server 215located in the core network 110. Alternatively, the application server215 can be deployed external to the core network. The end point devicescommunicate with the core network 110 via radio access network 206 and aborder element (BE) 205 or 208.

In one embodiment, the radio access network 206 comprises base stations291-298 and one or more radio network controllers (not shown). Basestations 291 and 292 are base stations at traffic sink nodes (i.e.,primary nodes). The base stations 293-298 comprise ordinary cell sites.The base stations 291-298 communicate with one or more user endpointdevices 201-202 via a wireless interface.

FIG. 3 illustrates a flowchart of the method 300 for providing atopology for interconnection of telecommunication nodes in acommunication network, e.g., a 3G network, a 2G network, etc. The method300 may be implemented in an application server (or a general purposecomputer as disclosed in FIG. 4 below) located in the service provider'snetwork. For example, the method may be implemented in the applicationserver 215 deployed in the core network 110. Method 300 starts in step305 and proceeds to step 310.

In step 310, method 300 obtains input data. For example, the input datamay be data for determining values of one or more sets, one or moreparameters or one or more variables associated with the communicationnetwork. For example, the input data for a 3G network may comprise oneor more of: a list of telecommunication nodes that are considered sinknodes; a list of telecommunication nodes that are considered cell sites;a list of links to be included in the topology (the topology derived viathe current method); a list of link-pairs to be included in thetopology; a list of links to be excluded from the topology; a list oflink-pairs to be excluded from the topology; a maximum number of hops tobe allowed between a cell site and a sink node; a maximum number ofantennas to be allowed at a cell site; a degree of redundancy associatedwith each cell site (the degree of redundancy determines the topology asrequired by the Microwave planner); a maximum number of cell sitesallowed in a clustered Microwave topology; a maximum number of sinknodes allowed in the topology; traffic demand associated with each cellsite; a list of types of links; a capacity level of each type of link;an actual capacity of each link between two telecommunication nodes ofeach type of link (based on the final topology); a cost associated witheach link; a distance between each pairs of cell sites, etc.

In step 315, method 300 determines the values of: one or more sets, oneor more parameters, or one or more variables associated with thecommunication network in accordance with the input data. For example,for the cellular network, the method may determine: a set for sites tobe clustered via microwaves; a set for nodes that are sink nodes; a setfor valid potential links between each of the sites to be clustered andone or more sink nodes; a set for links without Line-Of-Sight (LOS); aset for microwave link types; a set for links to be excluded from thefinal topology; a set for link-pairs to be excluded from the finaltopology; a set for links to be included in the final topology; a setfor link-pairs to be included in the final topology, etc. In oneexample, the method may determine values for each of the parameters:demand associated with each node; capacity level of each link type;actual capacity of each link between each pair of nodes of each linktype; cost of microwave links (e.g., cost associated with two radios,other equipment, installation, maintenance, etc.); a maximum number ofhops allowed for each given site to be connected to the final sink nodefor the site; a maximum number of microwaves dishes to be allowed ateach given site; and distances between each pair of locations.

In one embodiment, the set for links to be excluded from the finaltopology is constructed via a user input that provides a preference tothe current method, wherein the preference indicates that links withoutline-of-sight are to be eliminated. In one embodiment, the currentmethod then uses the preference to perform pre-processing to identifyand eliminate all such links from consideration. For example, thevalidity of each potential link may be determined by performingpre-processing based on a maximum allowed link distance and a microwave(MW) range.

In one embodiment, the set of links to be excluded from the finalMicrowave topology is constructed by adding a penalty term in theobjective function such that a link without a line-of-sight isdiscouraged from being selected.

In one embodiment, the set for link-pairs to be excluded from the finaltopology is constructed via a user input that provides a preference tothe current method, wherein the preference indicates that link-pairsthat fail to meet a separation rule are to be eliminated. In oneembodiment, the current method then uses the preference to performpre-processing to identify and eliminate such pairs of links that failto meet one or more separation rules. For example, the validity of eachpair of links may be determined by running a link-pair exclusionalgorithm of the current method that determines if a minimum microwavebeam angle restriction requirement and a vertical/horizontal separationrequirement are met. For link-pairs that fail to meet at least one ofthe separation requirements, the method adds constraints for link pairexclusions such that the final topology is determined subject to theadded link-pair exclusion constraints.

In one embodiment, the set for link-pairs to be excluded from the finaltopology is constructed via a user input that provides pairs of linksthat should not be activated at the same time. For example, the user(e.g., a network planner) may know some microwave beams that cross eachother. The list may then be provided by the users.

In step 325, method 300 determines a topology for the interconnection ofthe nodes from an objective function in accordance with the one or moresets, one or more parameters, or one or more variables, wherein theobjective function is based on one or more penalty factors. For example,the objective function may be defined based on one or more of thefollowing penalty factors: costs of deploying microwave links, penaltyassociated with microwave miles, penalty associated with not meetingline of sight objectives, penalty associated with a plurality ofdisjoint paths from a cell site being destined at a same sink node,penalty associated with a number of microwave dishes that should belocated at a given cell site. The topology is then the topology thatminimizes the penalty over all the above factors. That is, the topologyminimizes the objective function provided in Equation (1), while meetingall the above constraints. The method then proceeds to optional step335.

In optional step 335, method 300 provides one or more reports. Forexample, the method may generate a report for network planning purposes,a report for a project handoff, a report for generating forms to beprovided to a regulatory agency, a map illustrating the connectivity ofcell sites in accordance with the topology, etc. In one embodiment, thetopology may be provided to the user via a graphical user interface forvisualization. The method then proceeds to optional step 345.

In optional step 345, method 300 receives feedback from a user. Forexample, a network planner may provide feedback on the topology suchthat improvements can be made. In one embodiment, the feedback may beproviding an input that requires the objective function and/orconstraints to be re-formulated. In one embodiment, the feedback mayretain the objective function and constraints while modifying one ormore of: sets, parameters and variables. For example, the method maymodify a degree of redundancy, a number of radios allowed at a givenentity, a maximum number of allowed hops to reach a sink node, a maximumnumber of allowable entities in a clustered topology (e.g., a necklacetopology), etc. The method may also remove sites (ordinary cell sitesand/or sink nodes) that are part of the clustered output.

In one embodiment, the feedback may be to generate a report based on auser preference. For example, the user may change the preferences forviewing the final topology that is already determined. The method theneither proceeds to step 390 to end processing the current input data, orto any one of the steps 310, 315, 325 or 335.

It is important to note that the above method 300 for determining thetopology for interconnection of telecommunication nodes in acommunication network may determine the topology via a multi-stepapproach or a single step approach. In one embodiment, the method mayfirst identify all possible pairs of links that may violate the physicalor angular separation rules and add a constraint for each pair found tobe in violation of the separation rules, thereby determining thetopology in a single step. That is, the optimal topology that minimizesthe objective function provided in Equation (1), while meeting all theabove constraints is determined in a single step.

In one embodiment, the method first formulated the objective functionwith link exclusion constraints and other criteria, thereby omitting thelink-pair exclusion constraints. The method then determines a firsttopology by solving the objective function. The method then evaluatesthe first topology to determine if there are any pairs of links that mayviolate the separation rules. For each pair of links that violate theseparation rules, the method then augments the objective function with acorresponding link-pair exclusion constraint. The method then determinesa second topology by re-running the algorithm with the additionalconstraints. The second topology may again be evaluated to determine ifthere are pairs of links that violate the separation rules, and so on.The final topology is then determined iteratively by running thealgorithm until all objectives and constraints are met. That is, thetopology that minimizes the objective function provided in Equation (1),while meeting all the above constraints is determined iteratively.

It should be noted that although not specifically stated, one or moresteps of method 300 may include a storing, displaying and/or outputtingstep as required for a particular application. In other words, any data,records, fields, and/or intermediate results discussed in the method 300can be stored, displayed and/or outputted to another device as requiredfor a particular application. Furthermore, steps or blocks in FIG. 3that recite a determining operation, or involve a decision, do notnecessarily require that both branches of the determining operation bepracticed. In other words, one of the branches of the determiningoperation can be deemed as an optional step.

FIG. 4 depicts a high-level block diagram of a general-purpose computersuitable for use in performing the functions described herein. Asdepicted in FIG. 4, the system 400 comprises a processor element 402(e.g., a CPU), a memory 404, e.g., random access memory (RAM) and/orread only memory (ROM), a module 405 for providing a topology forinterconnection of telecommunication nodes in a communication network,and various input/output devices 406 (e.g., storage devices, includingbut not limited to, a tape drive, a floppy drive, a hard disk drive or acompact disk drive, a receiver, a transmitter, a speaker, a display, aspeech synthesizer, an output port, and a user input device (such as akeyboard, a keypad, a mouse, and the like)).

It should be noted that the teachings of the present disclosure can beimplemented in software and hardware, e.g., using application specificintegrated circuits (ASIC), a general purpose computer or any otherhardware equivalents. In one embodiment, the present module or process405 for providing a topology for interconnection of telecommunicationnodes in a communication network, can be loaded into memory 404 andexecuted by processor 402 to implement the functions as discussed above.As such, the present method 405 for providing a topology forinterconnection of telecommunication nodes in a communication network(including associated data structures) of the present disclosure can bestored on a non-transitory (tangible or physical) computer readablemedium, e.g., RAM memory, magnetic or optical drive or diskette and thelike.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Thus, the breadth and scope of a preferred embodiment shouldnot be limited by any of the above-described exemplary embodiments, butshould be defined only in accordance with the following claims and theirequivalents.

1. A method for providing a topology for interconnection oftelecommunication nodes in a communication network, comprising:obtaining input data; determining values of: at least one set, at leastone parameter, and at least one variable associated with thecommunication network in accordance with the input data; and determiningthe topology for the interconnection via microwave links of thetelecommunication nodes from an objective function in accordance withthe at least one set, at least one parameter, and at least one variable,wherein the objective function is based on a plurality of penaltyfactors.
 2. The method of claim 1, wherein the input data comprises atleast one of: a list of telecommunication nodes that are considered sinknodes, a list of telecommunication nodes that are considered cell sites,a list of links to be included in the topology, a list of link-pairs tobe included in the topology, a list of links to be excluded from thetopology, a list of link-pairs to be excluded from the topology, amaximum number of hops to be allowed between a cell site and a sinknode, a maximum number of antennas to be allowed at a cell site, adegree of redundancy associated with each cell site, a maximum number ofcell sites allowed in a clustered microwave topology, a maximum numberof sink nodes allowed in the topology, a traffic demand associated witheach cell site, a list of types of links, a capacity level of each typeof link, an actual capacity of each link between two telecommunicationnodes of each type of link, a cost associated with each link, and adistance between each pairs of cell sites.
 3. The method of claim 1,wherein the determining comprises determining at least one of: a set fortelecommunication nodes to be clustered via microwaves, a set fortelecommunication nodes that are sink nodes, a set for valid potentiallinks between each of the telecommunication nodes to be clustered andone or more sink nodes, a set for links without line-of-sight, a set formicrowave link types, a set for links to be excluded from the topology,a set for link-pairs to be excluded from the topology, a set for linksto be included in the topology, and a set for link-pairs to be includedin the topology.
 4. The method of claim 3, wherein the set for links tobe excluded from the topology is constructed via a user input thatprovides a preference, wherein the preference indicates that linkswithout line-of-sight are to be excluded from the topology.
 5. Themethod of claim 4, wherein the set for links to be excluded from thetopology is determined by performing a pre-processing to identify andeliminate all links without line-of-sight from consideration.
 6. Themethod of claim 5, wherein the pre-processing is based on at least oneof: a maximum allowed link distance and a maximum microwave range. 7.The method of claim 3, wherein the set for links to be excluded from thetopology is constructed by adding a penalty term in the objectivefunction, wherein the penalty term penalizes links withoutline-of-sight.
 8. The method of claim 3, wherein the set for link-pairsto be excluded from the topology is constructed via a user input thatprovides a preference, wherein the preference indicates that link-pairsthat fail to meet at least one separation rule are to be excluded fromthe topology.
 9. The method of claim 8, wherein the set of link-pairs tobe excluded from the topology is determined by performing apre-processing to identify pairs of links that fail to meet the at leastone separation rule, and eliminating at least one link of each of thepairs of links that fails to meet the at least one separation rule. 10.The method of claim 9, wherein the pre-processing to identify the pairsof links that fail to meet the at least one separation rule performs theidentifying each pair of links that fails to meet the at least oneseparation rule by running a link-pair exclusion algorithm.
 11. Themethod of claim 10, wherein the link-pair exclusion algorithm identifieslinks as failing to meet the at least one separation rule if at leastone of: a minimum microwave beam angle restriction requirement and aphysical separation requirement, is violated.
 12. The method of claim 3,wherein the set of link-pairs to be excluded from the topology isconstructed via a user input, wherein the user input provides pairs oflinks, wherein at most one of the links of the pairs of links is to beactivated at the same time.
 13. The method of claim 3, furthercomprising: adding a constraint to the objective function for eachlink-pair in the set of link-pairs to be excluded from the topology,wherein the constraint is a link pair exclusion constraint.
 14. Themethod of claim 1, further comprising: providing a report.
 15. Themethod of claim 1, further comprising: receiving feedback from a user.16. The method of claim 1, wherein the determining values associatedwith the communication network comprises determining at least one of: ademand associated with each telecommunication node, a capacity level ofeach link type, an actual capacity of each link between each pair oftelecommunication nodes of each link type, a cost of each microwavelink, a maximum number of hops allowed for each given telecommunicationnode that is considered a cell site to be connected to telecommunicationnode that is considered as a final sink node for the cell site, amaximum number of microwaves dishes to be allowed at each giventelecommunication node, and a distance between each pair of locations.17. The method of claim 1, wherein the plurality of penalty factorscomprises a penalty factor associated with a cost of deploying amicrowave link.
 18. The method of claim 1, wherein the plurality ofpenalty factors comprises a penalty factor associated with a failure tomeet a line-of-sight objective.
 19. A non-transitory computer-readablemedium having stored thereon a plurality of instructions, the pluralityof instructions including instructions which, when executed by aprocessor, cause the processor to perform a method for providing atopology for interconnection of telecommunication nodes in acommunication network, comprising: obtaining input data; determiningvalues of: at least one set, at least one parameter, and at least onevariable associated with the communication network in accordance withthe input data; and determining the topology for the interconnection viamicrowave links of the telecommunication nodes from an objectivefunction in accordance with the at least one set, at least oneparameter, and at least one variable, wherein the objective function isbased on a plurality of penalty factors.
 20. An apparatus comprising aprocessor for providing a topology for interconnection oftelecommunication nodes in a communication network, comprising: theprocessor configured to: obtain input data; determine values of: atleast one set, at least one parameter, and at least one variableassociated with the communication network in accordance with the inputdata; and determine the topology for the interconnection via microwavelinks of the telecommunication nodes from an objective function inaccordance with the at least one set, at least one parameter, and atleast one variable, wherein the objective function is based on aplurality of penalty factors.